var path = require('path')

function resolve (dir) {
  return path.join(__dirname, '..', dir)
}

module.exports = {
  /*
  ** Headers of the page
  */
  head: {
    title: 'nuxt-test',
    meta: [
      { charset: 'utf-8' },
      { name: 'viewport', content: 'width=device-width, initial-scale=1' },
      { hid: 'description', name: 'description', content: 'Nuxt.js project' }
    ],
    link: [
      { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
    ]
  },
  /*
  ** Customize the progress bar color
  */
  loading: { color: '#3B8070' },
  /*
  ** Build configuration
  */
  build: {
    /*
    ** Run ESLint on save
    */
    babel: {
      presets: [
        ["env", { modules: false }],
        "stage-2"
      ],
      plugins: [
        "transform-runtime",
        ["component", [{ libraryName: "mint-ui", style: true }]]
      ],
      comments: false,
      env: {
        test: {
          presets: ["env", "stage-2"],
          plugins: [ "istanbul" ]
        }
      }
    },
    extend (config, ctx) {
      if (ctx.dev && ctx.isClient) {
        // config.module.rules.push({
        //   enforce: 'pre',
        //   test: /\.(js|vue)$/,
        //   loader: 'eslint-loader',
        //   exclude: /(node_modules)/
        // })
        config.resolve.extensions = ['.js', '.vue', '.json']
        config.resolve.alias = {
          'vue$': 'vue/dist/vue.esm.js',
          '@': path.resolve(__dirname,'./'),
          'assets': path.resolve(__dirname,'./assets'),
          'libs':path.resolve(__dirname,'./dll/libs')
        }
      }
    }
  }
}
